package com.wh.weibo.mapper;

import com.wh.weibo.model.Topic;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TopicMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Topic record);

    int insertSelective(Topic record);

    Topic selectByPrimaryKey(Integer id);

    List<Topic> selectList();


    /**
     * 通过标题获取微博详情
     * @param title
     * @return
     */
    Topic selectByTitle(String title);

    int updateByPrimaryKeySelective(Topic record);

    int updateByPrimaryKey(Topic record);


    /**
     * 定时更新话题讨论数ID
     * @param topicId
     * @param count
     */
    void updateDiscussCount(@Param("topicId") Integer topicId, @Param("count") Integer count);

    /**
     * 若微博关联了对应的话题，则需要对应的话题讨论数量+1
     * @param id
     */
    void increaseDiscussCount(Integer id);

    /**
     * 用户关注则对应的关注数+1
     * @param id
     */
    void increaseFollowCount(Integer id);

    /**
     * 用户阅读则对应的关注数+1
     * @param id
     */
    void increaseReadCount(Integer id);

}